/*
 * Nombre: DAOInformacionAlumno.java
 * Version: 1.0.0
 * Diagrama: GAPI v4.5.6
 * Autor: Aloso Fabián Orozco Pérez
 * Creado: 16-mar-2013
 * Caso de uso: MCAAL1,2
 * Modificado: 
 */
package DAO;

import AccesoBD.AccesoBaseDatos;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

/**
 * Clase encargada de ejecutar las operaciones sobre base de datos de la tabla informacion_alumno
 * @author ALonso
 */
public class DAODatosGeneralesAlumno {
    private static final String TABLA_INFORMACION_ALUMNO = "informacion_alumno";
    private static final String COLUMNA_ID_INFORMACION_ALUMNO = "clave_info_alumno";
    private static final String COLUMNA_NOMBRE_USUARIO = "nombre_usuario";
    private static final String COLUMNA_DIRECCION = "direccion";
    private static final String COLUMNA_TELEFONO = "telefono";
    private static final String COLUMNA_EDAD = "edad";
    private static final String COLUMNA_SEXO = "sexo";
    private AccesoBaseDatos acceso = new AccesoBaseDatos();
    private Connection conexion = null;

    /**
     * Método encargado de abrir la cnoexión a la base de datos
     */
    public DAODatosGeneralesAlumno() {
        this.conexion = acceso.abrirConexion();
    }
    
    /**
     * Método encargado de buscar los datos generales de un alumno con base en su
     * nombre de usuario
     * @param nombreUsuario - el nombre de usuario del alumno
     * @return resultset con los datos generales del alumno
     */
    public ResultSet buscarDatosGeneralesDeAlumno(String nombreUsuario){
      ResultSet resultado = null;

        try {
            Statement sentencia = acceso.crearSentenciaBD(conexion);
            String querySearch = "SELECT * FROM " + TABLA_INFORMACION_ALUMNO + " WHERE " + COLUMNA_NOMBRE_USUARIO + " = '" + nombreUsuario + "';";
            resultado = sentencia.executeQuery(querySearch);
        } catch (SQLException ex) {
            System.out.println("Ocurrió un problema al tratar de buscar los datos personales del alumno");
        }

        return resultado;
    }

    /**
     * Método encargado de actualizar los datos generales de un alumno
     * @param nombreUsuario - El nombre de usuario
     * @param dir - La dirección nueva
     * @param sexo - EL sexo nuevo
     * @param tel - EL teléfono nuevo
     * @param edad - La edad nueva
     */
    public void actualizarDatosGeneralesAlumno(String nombreUsuario, String dir, String sexo, String tel, int edad) {
      try {
            Statement sentencia = acceso.crearSentenciaBD(conexion);
            String queryUpdate = "UPDATE " + TABLA_INFORMACION_ALUMNO + " SET " + COLUMNA_DIRECCION + " = '" + dir 
                    + "', " + COLUMNA_EDAD + " = '" + edad + "', " 
                    +  COLUMNA_SEXO + " = '" + sexo + "', "
                    +  COLUMNA_TELEFONO + " = '" + tel + "'"
                    + " WHERE " + COLUMNA_NOMBRE_USUARIO + " = '" + nombreUsuario + "';";
            sentencia.executeUpdate(queryUpdate);
        } catch (SQLException ex) {
            System.out.println("Ocurrió un problema al tratar de actualizar los datos generales del alumno");
        }  
    }
}
